/*

Miranda IM: the free IM client for Microsoft* Windows*

Copyright 2000-2007 Miranda ICQ/IM project, 
all portions of this codebase are copyrighted to the people 
listed in contributors.txt.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
aLONG with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/

/**
 * System Includes:
 **/
#include "commonheaders.h"

static IDSTRLIST Timezones[]={
   {-100, _T("Unspecified"), 0},
   {24  , _T("GMT-12:00 Eniwetok; Kwajalein"), 0},
   {23  , _T("GMT-11:30"), 0},
   {22  , _T("GMT-11:00 Midway Island; Samoa"), 0},
   {21  , _T("GMT-10:30"), 0},
   {20  , _T("GMT-10:00 Hawaii"), 0},
   {19  , _T("GMT-9:30"), 0},
   {18  , _T("GMT-9:00 Alaska"), 0},
   {17  , _T("GMT-8:30"), 0},
   {16  , _T("GMT-8:00 Pacific Time; Tijuana"), 0},
   {15  , _T("GMT-7:30"), 0},
   {14  , _T("GMT-7:00 Arizona; Mountain Time"), 0},
   {13  , _T("GMT-6:30"), 0},
   {12  , _T("GMT-6:00 Central Time; Central America; Saskatchewan"), 0},
   {11  , _T("GMT-5:30"), 0},
   {10  , _T("GMT-5:00 Eastern Time; Bogota; Lima; Quito"), 0},
   {9   , _T("GMT-4:30"), 0},
   {8   , _T("GMT-4:00 Atlantic Time; Santiago; Caracas; La Paz"), 0},
   {7   , _T("GMT-3:30 Newfoundland"), 0},
   {6   , _T("GMT-3:00 Greenland; Buenos Aires; Georgetown"), 0},
   {5   , _T("GMT-2:30"), 0},
   {4   , _T("GMT-2:00 Mid-Atlantic"), 0},
   {3   , _T("GMT-1:30"), 0},
   {2   , _T("GMT-1:00 Cape Verde Islands; Azores"), 0},
   {1   , _T("GMT-0:30"), 0},
   {0   , _T("GMT+0:00 London; Dublin; Edinburgh; Lisbon; Casablanca"), 0},
   {-1  , _T("GMT+0:30"), 0},
   {-2  , _T("GMT+1:00 Central European Time; West Central Africa; Warsaw"), 0},
   {-3  , _T("GMT+1:30"), 0},
   {-4  , _T("GMT+2:00 Jerusalem; Helsinki; Harare; Cairo; Bucharest; Athens"), 0},
   {-5  , _T("GMT+2:30"), 0},
   {-6  , _T("GMT+3:00 Moscow; St. Petersburg; Nairobi; Kuwait; Baghdad"), 0},
   {-7  , _T("GMT+3:30 Tehran"), 0},
   {-8  , _T("GMT+4:00 Baku; Tbilisi; Yerevan; Abu Dhabi; Muscat"), 0},
   {-9  , _T("GMT+4:30 Kabul"), 0},
   {-10 , _T("GMT+5:00 Calcutta; Chennai; Mumbai; New Delhi; Ekaterinburg"), 0},
   {-11 , _T("GMT+5:30"), 0},
   {-12 , _T("GMT+6:00 Astana; Dhaka; Almaty; Novosibirsk; Sri Jayawardenepura"), 0},
   {-13 , _T("GMT+6:30 Rangoon"), 0},
   {-14 , _T("GMT+7:00 Bankok; Hanoi; Jakarta; Krasnoyarsk"), 0},
   {-15 , _T("GMT+7:30"), 0},
   {-16 , _T("GMT+8:00 Perth; Taipei; Singapore; Hong Kong; Beijing"), 0},
   {-17 , _T("GMT+8:30"), 0},
   {-18 , _T("GMT+9:00 Tokyo; Osaka; Seoul; Sapporo; Yakutsk"), 0},
   {-19 , _T("GMT+9:30 Darwin; Adelaide"), 0},
   {-20 , _T("GMT+10:00 East Australia; Guam; Vladivostok"), 0},
   {-21 , _T("GMT+10:30"), 0},
   {-22 , _T("GMT+11:00 Magadan; Solomon Is.; New Caledonia"), 0},
   {-23 , _T("GMT+11:30"), 0},
   {-24 , _T("GMT+12:00 Auckland; Wellington; Fiji; Kamchatka; Marshall Is."), 0},
};

/*
static IDSTRLIST Countries[]={
   {0   , _T("Unspecified"), 0},
   {9999, _T("Other"), 0},
   {0xFFFF, _T("Unknown"), 0},
   {93  , _T("Afghanistan"), 0},
   {355 , _T("Albania"), 0},
   {213 , _T("Algeria"), 0},
   {684 , _T("American Samoa"), 0},
   {376 , _T("Andorra"), 0},
   {244 , _T("Angola"), 0},
   {101 , _T("Anguilla"), 0},
   {102 , _T("Antigua and Barbuda"), 0},
   {5902, _T("Antilles"), 0},
   {54  , _T("Argentina"), 0},
   {374 , _T("Armenia"), 0},
   {297 , _T("Aruba"), 0},
   {247 , _T("Ascension Island"), 0},
   {61  , _T("Australia"), 0},
   {43  , _T("Austria"), 0},
   {994 , _T("Azerbaijan"), 0},
   {103 , _T("Bahamas"), 0},
   {973 , _T("Bahrain"), 0},
   {880 , _T("Bangladesh"), 0},
   {104 , _T("Barbados"), 0},
   {120 , _T("Barbuda"), 0},
   {375 , _T("Belarus"), 0},
   {32  , _T("Belgium"), 0},
   {501 , _T("Belize"), 0},
   {229 , _T("Benin"), 0},
   {105 , _T("Bermuda"), 0},
   {975 , _T("Bhutan"), 0},
   {591 , _T("Bolivia"), 0},
   {387 , _T("Bosnia and Herzegovina"), 0},
   {267 , _T("Botswana"), 0},
   {55  , _T("Brazil"), 0},
   {106 , _T("British Virgin Islands"), 0},
   {673 , _T("Brunei"), 0},
   {359 , _T("Bulgaria"), 0},
   {226 , _T("Burkina Faso"), 0},
   {257 , _T("Burundi"), 0},
   {855 , _T("Cambodia"), 0},
   {237 , _T("Cameroon"), 0},
   {107 , _T("Canada"), 0},
   {178 , _T("Canary Islands"), 0},
   {238 , _T("Cape Verde Islands"), 0},
   {108 , _T("Cayman Islands"), 0},
   {236 , _T("Central African Republic"), 0},
   {235 , _T("Chad"), 0},
   {56  , _T("Chile, Republic of"), 0},
   {86  , _T("China"), 0},
   {672 , _T("Christmas Island"), 0},
   {6101, _T("Cocos-Keeling Islands"), 0},
   {6102, _T("Cocos (Keeling) Islands"), 0},
   {57  , _T("Colombia"), 0},
   {2691, _T("Comoros"), 0},
   {243 , _T("Congo, Democratic Republic of (Zaire)"), 0},
   {242 , _T("Congo, Republic of the"), 0},
   {682 , _T("Cook Islands"), 0},
   {506 , _T("Costa Rica"), 0},
   {225 , _T("Cote d'Ivoire (Ivory Coast)"), 0},
   {385 , _T("Croatia"), 0},
   {53  , _T("Cuba"), 0},
   {357 , _T("Cyprus"), 0},
   {420 , _T("Czech Republic"), 0},
   {45  , _T("Denmark"), 0},
   {246 , _T("Diego Garcia"), 0},
   {253 , _T("Djibouti"), 0},
   {109 , _T("Dominica"), 0},
   {110 , _T("Dominican Republic"), 0},
   {593 , _T("Ecuador"), 0},
   {20  , _T("Egypt"), 0},
   {503 , _T("El Salvador"), 0},
   {240 , _T("Equatorial Guinea"), 0},
   {291 , _T("Eritrea"), 0},
   {372 , _T("Estonia"), 0},
   {251 , _T("Ethiopia"), 0},
   {298 , _T("Faeroe Islands"), 0},
   {500 , _T("Falkland Islands"), 0},
   {679 , _T("Fiji"), 0},
   {358 , _T("Finland"), 0},
   {33  , _T("France"), 0},
   {5901, _T("French Antilles"), 0},
   {594 , _T("French Guiana"), 0},
   {689 , _T("French Polynesia"), 0},
   {241 , _T("Gabon"), 0},
   {220 , _T("Gambia"), 0},
   {995 , _T("Georgia"), 0},
   {49  , _T("Germany"), 0},
   {233 , _T("Ghana"), 0},
   {350 , _T("Gibraltar"), 0},
   {30  , _T("Greece"), 0},
   {299 , _T("Greenland"), 0},
   {111 , _T("Grenada"), 0},
   {590 , _T("Guadeloupe"), 0},
   {671 , _T("Guam, US Territory of"), 0},
   {502 , _T("Guatemala"), 0},
   {224 , _T("Guinea"), 0},
   {245 , _T("Guinea-Bissau"), 0},
   {592 , _T("Guyana"), 0},
   {509 , _T("Haiti"), 0},
   {504 , _T("Honduras"), 0},
   {852 , _T("Hong Kong"), 0},
   {36  , _T("Hungary"), 0},
   {354 , _T("Iceland"), 0},
   {91  , _T("India"), 0},
   {62  , _T("Indonesia"), 0},
   {98  , _T("Iran (Islamic Republic of)"), 0},
   {964 , _T("Iraq"), 0},
   {353 , _T("Ireland"), 0},
   {972 , _T("Israel"), 0},
   {39  , _T("Italy"), 0},
   {112 , _T("Jamaica"), 0},
   {81  , _T("Japan"), 0},
   {962 , _T("Jordan"), 0},
   {705 , _T("Kazakhstan"), 0},
   {254 , _T("Kenya"), 0},
   {686 , _T("Kiribati"), 0},
   {850 , _T("Korea, North"), 0},
   {82  , _T("Korea, South"), 0},
   {965 , _T("Kuwait"), 0},
   {706 , _T("Kyrgyzstan"), 0},
   {856 , _T("Laos"), 0},
   {371 , _T("Latvia"), 0},
   {961 , _T("Lebanon"), 0},
   {266 , _T("Lesotho"), 0},
   {231 , _T("Liberia"), 0},
   {218 , _T("Libyan Arab Jamahiriya"), 0},
   {4101, _T("Liechtenstein"), 0},
   {370 , _T("Lithuania"), 0},
   {352 , _T("Luxembourg"), 0},
   {853 , _T("Macau"), 0},
   {389 , _T("Macedonia (F.Y.R.O.M.)"), 0},
   {261 , _T("Madagascar"), 0},
   {265 , _T("Malawi"), 0},
   {60  , _T("Malaysia"), 0},
   {960 , _T("Maldives"), 0},
   {223 , _T("Mali"), 0},
   {356 , _T("Malta"), 0},
   {692 , _T("Marshall Islands"), 0},
   {596 , _T("Martinique"), 0},
   {222 , _T("Mauritania"), 0},
   {230 , _T("Mauritius"), 0},
   {269 , _T("Mayotte Island"), 0},
   {52  , _T("Mexico"), 0},
   {691 , _T("Micronesia, Federated States of"), 0},
   {373 , _T("Moldova, Republic of"), 0},
   {377 , _T("Monaco"), 0},
   {976 , _T("Mongolia"), 0},
   {113 , _T("Montserrat"), 0},
   {212 , _T("Morocco"), 0},
   {258 , _T("Mozambique"), 0},
   {95  , _T("Myanmar"), 0},
   {264 , _T("Namibia"), 0},
   {674 , _T("Nauru"), 0},
   {977 , _T("Nepal"), 0},
   {31  , _T("Netherlands"), 0},
   {599 , _T("Netherlands Antilles"), 0},
   {114 , _T("Nevis"), 0},
   {687 , _T("New Caledonia"), 0},
   {64  , _T("New Zealand"), 0},
   {505 , _T("Nicaragua"), 0},
   {227 , _T("Niger"), 0},
   {234 , _T("Nigeria"), 0},
   {683 , _T("Niue"), 0},
   {6722, _T("Norfolk Island"), 0},
   {47  , _T("Norway"), 0},
   {968 , _T("Oman"), 0},
   {92  , _T("Pakistan"), 0},
   {680 , _T("Palau"), 0},
   {507 , _T("Panama"), 0},
   {675 , _T("Papua New Guinea"), 0},
   {595 , _T("Paraguay"), 0},
   {51  , _T("Peru"), 0},
   {63  , _T("Philippines"), 0},
   {48  , _T("Poland"), 0},
   {351 , _T("Portugal"), 0},
   {121 , _T("Puerto Rico"), 0},
   {974 , _T("Qatar"), 0},
   {262 , _T("Reunion Island"), 0},
   {40  , _T("Romania"), 0},
   {6701, _T("Rota Island"), 0},
   {7   , _T("Russia"), 0},
   {250 , _T("Rwanda"), 0},
   {290 , _T("Saint Helena"), 0},
   {115 , _T("Saint Kitts"), 0},
   {1141, _T("Saint Kitts and Nevis"), 0},
   {122 , _T("Saint Lucia"), 0},
   {508 , _T("Saint Pierre and Miquelon"), 0},
   {116 , _T("Saint Vincent and the Grenadines"), 0},
   {670 , _T("Saipan Island"), 0},
   {378 , _T("San Marino"), 0},
   {239 , _T("Sao Tome and Principe"), 0},
   {966 , _T("Saudi Arabia"), 0},
   {442 , _T("Scotland"), 0},
   {221 , _T("Senegal"), 0},
   {248 , _T("Seychelles"), 0},
   {232 , _T("Sierra Leone"), 0},
   {65  , _T("Singapore"), 0},
   {4201, _T("Slovakia"), 0},
   {386 , _T("Slovenia"), 0},
   {677 , _T("Solomon Islands"), 0},
   {252 , _T("Somalia"), 0},
   {27  , _T("South Africa"), 0},
   {34  , _T("Spain"), 0},
   {94  , _T("Sri Lanka"), 0},
   {249 , _T("Sudan"), 0},
   {597 , _T("Suriname"), 0},
   {268 , _T("Swaziland"), 0},
   {46  , _T("Sweden"), 0},
   {41  , _T("Switzerland"), 0},
   {963 , _T("Syrian Arab Republic"), 0},
   {886 , _T("Taiwan"), 0},
   {708 , _T("Tajikistan"), 0},
   {255 , _T("Tanzania"), 0},
   {66  , _T("Thailand"), 0},
   {6702, _T("Tinian Island"), 0},
   {228 , _T("Togo"), 0},
   {690 , _T("Tokelau"), 0},
   {676 , _T("Tonga"), 0},
   {117 , _T("Trinidad and Tobago"), 0},
   {216 , _T("Tunisia"), 0},
   {90  , _T("Turkey"), 0},
   {709 , _T("Turkmenistan"), 0},
   {118 , _T("Turks and Caicos Islands"), 0},
   {688 , _T("Tuvalu"), 0},
   {256 , _T("Uganda"), 0},
   {380 , _T("Ukraine"), 0},
   {971 , _T("United Arab Emirates"), 0},
   {44  , _T("United Kingdom"), 0},
   {598 , _T("Uruguay"), 0},
   {1   , _T("USA"), 0},
   {711 , _T("Uzbekistan"), 0},
   {678 , _T("Vanuatu"), 0},
   {379 , _T("Vatican City"), 0},
   {58  , _T("Venezuela"), 0},
   {84  , _T("Vietnam"), 0},
   {123 , _T("Virgin Islands (USA)"), 0},
   {441 , _T("Wales"), 0},
   {681 , _T("Wallis and Futuna Islands"), 0},
   {685 , _T("Western Samoa"), 0},
   {967 , _T("Yemen"), 0},
   {381 , _T("Yugoslavia"), 0},
   {3811, _T("Yugoslavia - Serbia"), 0},
   {382 , _T("Yugoslavia - Montenegro"), 0},
   {260 , _T("Zambia"), 0},
   {263 , _T("Zimbabwe"), 0},
};
*/

static IDSTRLIST Languages[]={
   {0, _T("Unspecified"), 0},
   {55, _T("Afrikaans"), 0},
   {58, _T("Albanian"), 0},
   {1, _T("Arabic"), 0},
   {59, _T("Armenian"), 0},
   {68, _T("Azerbaijani"), 0},
   {72, _T("Belorussian"), 0},
   {2, _T("Bhojpuri"), 0},
   {56, _T("Bosnian"), 0},
   {3, _T("Bulgarian"), 0},
   {4, _T("Burmese"), 0},
   {5, _T("Cantonese"), 0},
   {6, _T("Catalan"), 0},
   {61, _T("Chamorro"), 0},
   {7, _T("Chinese"), 0},
   {8, _T("Croatian"), 0},
   {9, _T("Czech"), 0},
   {10, _T("Danish"), 0},
   {11, _T("Dutch"), 0},
   {12, _T("English"), 0},
   {13, _T("Esperanto"), 0},
   {14, _T("Estonian"), 0},
   {15, _T("Farci"), 0},
   {16, _T("Finnish"), 0},
   {17, _T("French"), 0},
   {18, _T("Gaelic"), 0},
   {19, _T("German"), 0},
   {20, _T("Greek"), 0},
   {70, _T("Gujarati"), 0},
   {21, _T("Hebrew"), 0},
   {22, _T("Hindi"), 0},
   {23, _T("Hungarian"), 0},
   {24, _T("Icelandic"), 0},
   {25, _T("Indonesian"), 0},
   {26, _T("Italian"), 0},
   {27, _T("Japanese"), 0},
   {28, _T("Khmer"), 0},
   {29, _T("Korean"), 0},
   {69, _T("Kurdish"), 0},
   {30, _T("Lao"), 0},
   {31, _T("Latvian"), 0},
   {32, _T("Lithuanian"), 0},
   {65, _T("Macedonian"), 0},
   {33, _T("Malay"), 0},
   {63, _T("Mandarin"), 0},
   {62, _T("Mongolian"), 0},
   {34, _T("Norwegian"), 0},
   {57, _T("Persian"), 0},
   {35, _T("Polish"), 0},
   {36, _T("Portuguese"), 0},
   {60, _T("Punjabi"), 0},
   {37, _T("Romanian"), 0},
   {38, _T("Russian"), 0},
   {39, _T("Serbo-Croatian"), 0},
   {66, _T("Sindhi"), 0},
   {40, _T("Slovak"), 0},
   {41, _T("Slovenian"), 0},
   {42, _T("Somali"), 0},
   {43, _T("Spanish"), 0},
   {44, _T("Swahili"), 0},
   {45, _T("Swedish"), 0},
   {46, _T("Tagalog"), 0},
   {64, _T("Taiwaness"), 0},
   {71, _T("Tamil"), 0},
   {47, _T("Tatar"), 0},
   {48, _T("Thai"), 0},
   {49, _T("Turkish"), 0},
   {50, _T("Ukrainian"), 0},
   {51, _T("Urdu"), 0},
   {52, _T("Vietnamese"), 0},
   {67, _T("Welsh"), 0},
   {53, _T("Yiddish"), 0},
   {54, _T("Yoruba"), 0},
};

static IDSTRLIST occupations[] = {
   {0, _T("Unspecified"), 0},
   {1, _T("Academic"), 0},
   {2, _T("Administrative"), 0},
   {3, _T("Art/Entertainment"), 0},
   {4, _T("College Student"), 0},
   {5, _T("Computers"), 0},
   {6, _T("Community & Social"), 0},
   {7, _T("Education"), 0},
   {8, _T("Engineering"), 0},
   {9, _T("Financial Services"), 0},
   {10, _T("Government"), 0},
   {11, _T("High School Student"), 0},
   {12, _T("Home"), 0},
   {13, _T("ICQ - Providing Help"), 0},
   {14, _T("Law"), 0},
   {15, _T("Managerial"), 0},
   {16, _T("Manufacturing"), 0},
   {17, _T("Medical/Health"), 0},
   {18, _T("Military"), 0},
   {19, _T("Non-Government Organization"), 0},
   {20, _T("Professional"), 0},
   {21, _T("Retail"), 0},
   {22, _T("Retired"), 0},
   {23, _T("Science & Research"), 0},
   {24, _T("Sports"), 0},
   {25, _T("Technical"), 0},
   {26, _T("University Student"), 0},
   {27, _T("Web Building"), 0},
   {99, _T("Other Services"), 0}
};

static IDSTRLIST Interests[] = {
   {0, _T("Unspecified"), 0},
   {100, _T("Art"), 0},
   {101, _T("Cars"), 0},
   {102, _T("Celebrity Fans"), 0},
   {103, _T("Collections"), 0},
   {104, _T("Computers"), 0},
   {105, _T("Culture & Literature"), 0},
   {106, _T("Fitness"), 0},
   {107, _T("Games"), 0},
   {108, _T("Hobbies"), 0},
   {109, _T("ICQ - Providing Help"), 0},
   {110, _T("Internet"), 0},
   {111, _T("Lifestyle"), 0},
   {112, _T("Movies/TV"), 0},
   {113, _T("Music"), 0},
   {114, _T("Outdoor Activities"), 0},
   {115, _T("Parenting"), 0},
   {116, _T("Pets/Animals"), 0},
   {117, _T("Religion"), 0},
   {118, _T("Science/Technology"), 0},
   {119, _T("Skills"), 0},
   {120, _T("Sports"), 0},
   {121, _T("Web Design"), 0},
   {122, _T("Nature and Environment"), 0},
   {123, _T("News & Media"), 0},
   {124, _T("Government"), 0},
   {125, _T("Business & Economy"), 0},
   {126, _T("Mystics"), 0},
   {127, _T("Travel"), 0},
   {128, _T("Astronomy"), 0},
   {129, _T("Space"), 0},
   {130, _T("Clothing"), 0},
   {131, _T("Parties"), 0},
   {132, _T("Women"), 0},
   {133, _T("Social science"), 0},
   {134, _T("60's"), 0},
   {135, _T("70's"), 0},
   {136, _T("80's"), 0},
   {137, _T("50's"), 0},
   {138, _T("Finance and corporate"), 0},
   {139, _T("Entertainment"), 0},
   {140, _T("Consumer electronics"), 0},
   {141, _T("Retail stores"), 0},
   {142, _T("Health and beauty"), 0},
   {143, _T("Media"), 0},
   {144, _T("Household products"), 0},
   {145, _T("Mail order catalog"), 0},
   {146, _T("Business services"), 0},
   {147, _T("Audio and visual"), 0},
   {148, _T("Sporting and athletic"), 0},
   {149, _T("Publishing"), 0},
   {150, _T("Home automation"), 0}
};

static IDSTRLIST Past[] = {
   {0, _T("Unspecified"), 0},
   {300, _T("Elementary School"), 0},
   {301, _T("High School"), 0},
   {302, _T("College"), 0},
   {303, _T("University"), 0},
   {304, _T("Military"), 0},
   {305, _T("Past Work Place"), 0},
   {306, _T("Past Organization"), 0},
   {399, _T("Other"), 0}
};

static IDSTRLIST Affiliations[] = {
   {0, _T("Unspecified"), 0},
   {200, _T("Alumni Org."), 0},
   {201, _T("Charity Org."), 0},
   {202, _T("Club/Social Org."), 0},
   {203, _T("Community Org."), 0},
   {204, _T("Cultural Org."), 0},
   {205, _T("Fan Clubs"), 0},
   {206, _T("Fraternity/Sorority"), 0},
   {207, _T("Hobbyists Org."), 0},
   {208, _T("International Org."), 0},
   {209, _T("Nature and Environment Org."), 0},
   {210, _T("Professional Org."), 0},
   {211, _T("Scientific/Technical Org."), 0},
   {212, _T("Self Improvement Group"), 0},
   {213, _T("Spiritual/Religious Org."), 0},
   {214, _T("Sports Org."), 0},
   {215, _T("Support Org."), 0},
   {216, _T("Trade and Business Org."), 0},
   {217, _T("Union"), 0},
   {218, _T("Volunteer Org."), 0},
   {299, _T("Other"), 0},
};

static IDSTRLIST Marital[]={
   {0, _T("Unspecified"), 0},
   {10, _T("Single"), 0},
   {11, _T("Close relationships"), 0},
   {12, _T("Engaged"), 0},
   {20, _T("Married"), 0},
   {30, _T("Divorced"), 0},
   {31, _T("Separated"), 0},
   {40, _T("Widowed"), 0}
};

static IDSTRLIST Prefixes[]={
   {0, _T("Unspecified"), 0},
   {'j', _T("jun."), 0},
   {'s', _T("sen."), 0}
};

/**
 * name:	IDStringList_Translate
 * desc:	translates the text of each item of an IDStrinList to users locale
 *			language and saves result in szTranslated member for later use and 
 *			faster access to translated strings later.
 * param:	pList		- pointer to list to translate
 *			nListCount	- number of list items
 *
 * return:	nothing
 **/
static VOID IDStringList_Translate(LPIDSTRLIST pList, UINT nListCount)
{
	while(0 < nListCount--)	
		pList[nListCount].ptszTranslated = TranslateTS(pList[nListCount].szText);
}

static IDSTRLIST *MyCountries = NULL;
static int MyCountriesCount = 0;

INT GetCountryList(WPARAM wParam, LPARAM lParam)
{
	if(MyCountries == NULL) {
		struct CountryListEntry *country;

		if(CallService(MS_UTILS_GETCOUNTRYLIST, (WPARAM)&MyCountriesCount, (LPARAM)&country))
			return 1;

		MyCountries = (IDSTRLIST*)mir_alloc(MyCountriesCount * sizeof(IDSTRLIST));
		if(MyCountries == NULL) 
			return 1;

		for(int i = 0; i < MyCountriesCount; i++) {
			MyCountries[i].nID = country[i].id;
			MyCountries[i].szText = Utf8ToTChar(country[i].szName);
			MyCountries[i].ptszTranslated = TranslateTS(MyCountries[i].szText);
		}
	}
	*(LPUINT)wParam = MyCountriesCount;
	*(LPIDSTRLIST*)lParam = MyCountries;
	return 0;
}

INT GetMaritalList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(Marital)/sizeof(Marital[0]);
	*(LPIDSTRLIST*)lParam = Marital;
	if(!Marital[0].ptszTranslated)
		IDStringList_Translate(Marital, *(LPUINT)wParam);
	return 0;
}

INT GetLanguageList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(Languages)/sizeof(Languages[0]);
	*(LPIDSTRLIST*)lParam = Languages;
	if(!Languages[0].ptszTranslated)
		IDStringList_Translate(Languages, *(LPUINT)wParam);
	return 0;
}

INT GetTimezoneList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(Timezones)/sizeof(Timezones[0]);
	*(LPIDSTRLIST*)lParam = Timezones;
	if(!Timezones[0].ptszTranslated)
		IDStringList_Translate(Timezones, *(LPUINT)wParam);
	return 0;
}

INT GetOccupationList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(occupations)/sizeof(occupations[0]);
	*(LPIDSTRLIST*)lParam = occupations;
	if(!occupations[0].ptszTranslated)
		IDStringList_Translate(occupations, *(LPUINT)wParam);
	return 0;
}

INT GetInterestsList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(Interests)/sizeof(Interests[0]);
	*(LPIDSTRLIST*)lParam = Interests;
	if(!Interests[0].ptszTranslated)
		IDStringList_Translate(Interests, *(LPUINT)wParam);
	return 0;
}

INT GetPastList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(Past)/sizeof(Past[0]);
	*(LPIDSTRLIST*)lParam = Past;
	if(!Past[0].ptszTranslated)
		IDStringList_Translate(Past, *(LPUINT)wParam);
	return 0;
}

INT GetAffiliationsList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(Affiliations)/sizeof(Affiliations[0]);
	*(LPIDSTRLIST*)lParam = Affiliations;
	if(!Affiliations[0].ptszTranslated)
		IDStringList_Translate(Affiliations, *(LPUINT)wParam);
	return 0;
}

INT GetNamePrefixList(WPARAM wParam, LPARAM lParam)
{
	*(LPUINT)wParam = sizeof(Prefixes)/sizeof(Prefixes[0]);
	*(LPIDSTRLIST*)lParam = Prefixes;
	if(!Prefixes[0].ptszTranslated)
		IDStringList_Translate(Prefixes, *(LPUINT)wParam);
	return 0;
}

VOID Constants_LoadModule(VOID)
{
	/*
	CreateServiceFunction(MS_USERINFO_GETLIST_MARITALSTATUS, GetMaritalList);
	CreateServiceFunction(MS_USERINFO_GETLIST_LANGUAGES, GetLanguageList);
	CreateServiceFunction(MS_USERINFO_GETLIST_TIMEZONES, GetTimezoneList);
	CreateServiceFunction(MS_USERINFO_GETLIST_COUNTRIES, GetCountryList);
	CreateServiceFunction(MS_USERINFO_GETLIST_OCCUPATIONS, GetOccupationList);
	CreateServiceFunction(MS_USERINFO_GETLIST_intERESTCATS, GetInterestsList);
	CreateServiceFunction(MS_USERINFO_GETLIST_PASTCATS, GetPastList);
	CreateServiceFunction(MS_USERINFO_GETLIST_AFFILIATIONSCATS, GetAffiliationsList);
	CreateServiceFunction(MS_USERINFO_GETLIST_NAMEPREFIXES, GetNamePrefixList);
	*/
}

VOID Constants_UnloadModule(VOID)
{
	if(MyCountries) {
		for(int i = 0; i < MyCountriesCount; i++)
			mir_free((PVOID)MyCountries[i].szText);
		mir_free(MyCountries);
	}
}